Aria2 是一個超輕量但功能的強大開源下載器,支援多點下載、多種協定、檔案分割下載、可透過 JSON-PRC 或 XML-PRC 遠端控制等功能。
Aria2 的特性讓他非常適合放在樹莓派等單晶片上執行,輕量不耗資源、又能遠端操作,我的 Pi 剛好作為 NAS,搭配下載器可以直接存入 NAS 硬碟中,在做遠端存取且不用關機非常方便,本篇將會記錄安裝 Aria2 在 Pi 上的過程。
安裝 Aria2 sudo apt-get update
sudo apt-get install aria2
設定 Aria2 建立設定資料夾與檔案(注意這邊不用 sudo
,否則還要回過頭來改資料夾權限給 user)
mkdir -p ~/.aria2/
touch ~/.aria2/aria2.session
vim ~/.aria2/aria2.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ## Files dir=/mnt/Share/Downloads disk-cache=32M file-allocation=trunc continue=true ## Downloads max-concurrent-downloads=10 max-connection-per-server=16 min-split-size=10M split=5 max-overall-download-limit=0 #max-download-limit=0 #max-overall-upload-limit=0 #max-upload-limit=0 disable-ipv6=false ## Sessions save-session=/home/pi/.aria2/aria2.session input-file=/home/pi/.aria2/aria2.session save-session-interval=60 ## RPC Settings enable-rpc=true rpc-allow-origin-all=true rpc-listen-all=true #rpc-secret=secret #event-poll=select #rpc-listen-port=6800 ## Others enable-dht=true enable-dht6=true enable-peer-exchange=true
在 Files
部分的 dir
是指檔案下載路徑,這裡我把它掛在外接硬碟上方便存取。
接著啟動 aria2c
並指定設定文件所在位置。
aria2c --conf-path=/home/pi/.aria2/aria2.conf
看一下進程有沒有成功
ps aux | grep aria2
設定開機啟動服務 建立設定文件
sudo vim /lib/systemd/system/aria2.service
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [Unit] Description=Aria2 Service Requires=network.target After=dhcpcd.service [Service] User=pi RemainAfterExit=yes ExecStart=/usr/bin/aria2c --conf-path=/home/pi/.aria2/aria2.conf ExecReload=/usr/bin/kill -HUP $MAINPID ExecStop=/usr/bin/kill -s STOP $MAINPID RestartSec=1min Restart=on-failure [Install] WantedBy=multi-user.target
接著載入服務並啟動檢查是否成功:
sudo systemctl daemon-reload
sudo systemctl enable aria2
sudo systemctl start aria2
sudo systemctl status aria2
成功的話會顯示類似下方狀態
1 2 3 4 5 6 7 8 9 10 11 12 13 ● aria2.service - Aria2 Service Loaded: loaded (/lib/systemd/system/aria2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-11-15 16:01:37 GMT; 4s ago Main PID: 1509 (aria2c) Tasks: 1 (limit: 4915) Memory: 3.4M CGroup: /system.slice/aria2.service └─1509 /usr/bin/aria2c --conf-path=/home/pi/.aria2/aria2.conf Nov 15 16:01:37 pinas systemd[1]: Started Aria2 Service. Nov 15 16:01:37 pinas aria2c[1509]: 11/15 16:01:37 [WARN] Neither --rpc-secret nor a combination of --rpc-user and --rpc Nov 15 16:01:37 pinas aria2c[1509]: 11/15 16:01:37 [NOTICE] IPv4 RPC: listening on TCP port 6800 Nov 15 16:01:37 pinas aria2c[1509]: 11/15 16:01:37 [NOTICE] IPv6 RPC: listening on TCP port 6800
安裝 Nginx 網頁伺服器 安裝 nginx (若有其他網頁伺服器也可以,如 Apache 等)
sudo apt install nginx
啟動服務
sudo /etc/init.d/nginx start
在瀏覽器輸入 http://RASPBERRYPI-IP/
看到 Welcome to nginx!
等字樣代表伺服器成功安裝並且正常執行了
安裝 AriaNG 網頁操作界面 下載 AriaNG ,撰文時最新版為1.1.4,有更新版可以自行檢查。
wget https://github.com/mayswind/AriaNg/releases/download/1.1.4/AriaNg-1.1.4.zip
解壓縮
unzip AriaNg-1.1.4.zip -d aria-ng
把資料夾搬去伺服器的網頁目錄底下( nginx 預設為 /var/www/html )
sudo mv aria-ng /var/www/html/
此時瀏覽器輸入 http://RASPBERRYPI-IP/aria-ng
即可看到 AriaNG 的界面了。
在如下設定分頁內填入相關設定( IP 或 hostname,預設 Port 為 6800
),看到 Connected
即可開始遠端操作下載等任務了!
參考 aria2
AriaNG
Remote Download Server in Linux using Aria2
用树莓派 Raspberry Pi 远程下载 (aria2)
Setting up an NGINX web server on a Raspberry Pi
評論